package com.vcaresolution.logistic.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * The <code>DAOFactory</code> class is a DAO Factory for all
 * available DAO in <b>ShipSoft</b> application.
 *
 * @author Sneahl Shah
 * @version 1.0
 * @since ShipSoft 1.0
 */
@Component
public class DAOFactory {
	
	@Autowired
	private UserDAO userDAO;
	
	@Autowired
	private UtilityDAO utilityDAO;

	@Autowired
	private SectorDAO sectorDAO;

	@Autowired
	private CodetableDAO codetableDAO;
	
	@Autowired
	private CompanyDAO companyDAO;
	
	@Autowired
	private BranchDAO branchDAO;
	
	@Autowired
	private JobDAO jobDAO;
	
	@Autowired
	private ExportDAO exportDAO;
	
	@Autowired
	private ContainerDAO containerDAO;
	
	/**
	 * @return
	 */
	public ContainerDAO getContainerDAO() {
		return containerDAO;
	}
	
	/**
	 * @param containerDAO
	 */
	public void setContainerDAO(ContainerDAO containerDAO) {
		this.containerDAO = containerDAO;
	}
	
	/**
	 * @return
	 */
	public JobDAO getJobDAO() {
		return jobDAO;
	}

	/**
	 * @param jobDAO
	 */
	public void setJobDAO(JobDAO jobDAO) {
		this.jobDAO = jobDAO;
	}

	/**
	 * @return the sectorDAO
	 */
	public SectorDAO getSectorDAO() {
		return sectorDAO;
	}

	/**
	 * @param sectorDAO the sectorDAO to set
	 */
	public void setSectorDAO(SectorDAO sectorDAO) {
		this.sectorDAO = sectorDAO;
	}

	/**
	 * @return the utilityDAO
	 */
	public UtilityDAO getUtilityDAO() {
		return utilityDAO;
	}

	/**
	 * @param utilityDAO the utilityDAO to set
	 */
	public void setUtilityDAO(UtilityDAO utilityDAO) {
		this.utilityDAO = utilityDAO;
	}

	/**
	 * @return the userDAO
	 */
	public UserDAO getUserDAO() {
		return userDAO;
	}

	/**
	 * @param userDAO the userDAO to set
	 */
	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}

	public CodetableDAO getCodetableDAO() {
		return codetableDAO;
	}

	public void setCodetableDAO(CodetableDAO codetableDAO) {
		this.codetableDAO = codetableDAO;
	}
	
	/**
	 * @return the companyDAO
	 */
	public CompanyDAO getCompanyDAO() {
		return companyDAO;
	}

	/**
	 * @param companyDAO the companyDAO to set
	 */
	public void setCompanyDAO(CompanyDAO companyDAO) {
		this.companyDAO = companyDAO;
	}

	/**
	 * @return the branchDAO
	 */
	public BranchDAO getBranchDAO() {
		return branchDAO;
	}

	/**
	 * @param branchDAO the branchDAO to set
	 */
	public void setBranchDAO(BranchDAO branchDAO) {
		this.branchDAO = branchDAO;
	}

	/**
	 * @return the exportDAO
	 */
	public ExportDAO getExportDAO() {
		return exportDAO;
	}

	/**
	 * @param exportDAO the exportDAO to set
	 */
	public void setExportDAO(ExportDAO exportDAO) {
		this.exportDAO = exportDAO;
	}
	
	
}
